package net.fdukedom.epicurus.plugin;

import net.fdukedom.epicurus.domain.entity.Plugin;
import net.fdukedom.epicurus.domain.entity.Page;

import java.util.Map;
import java.util.Set;

/**
 * @author Dmitry Y. Kochelaev
 */
public class PagesLoader extends CollectionLoader<Plugin, Page> {
    public PagesLoader(Plugin plugin) {
        super(plugin);
    }

    public Page parseAttributes(Map<String, String> attributes) {
        return new Page(attributes.get("name"), attributes.get("location"), item);
    }

    public Set<Page> getLoadedCollection() {
        return item.getPages();
    }

    public void disposeElement(Page element) {
        item.getPages().remove(element);
        element.setPlugin(null);
    }

    public void addElement(Page element) {
        element.setPlugin(item);
        item.getPages().add(element);
    }
}